export default {
  // 全局环境变量
  env: {
    browser: true,
    es2022: true,
  },
  // 继承共享配置
  extends: ['eslint:recommended', 'plugin:vue/vue3-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'],
  // 覆盖配置
  overrides: [],
  // 解析器配置
  parserOptions: {
    parser: '@typescript-eslint/parser',
    ecmaVersion: 'latest',
    sourceType: 'module',
  },
  plugins: ['vue'],
  rules: {
    'prefer-destructuring': [
      'warn',
      {
        array: false,
        object: true,
      },
    ], //要求使用解构赋值
    quotes: 0, //使用单引号
    semi: 0, //语句末尾不加分号
    eqeqeq: 'warn', //要求使用全等
    'no-console': 1, //禁止使用console
    'no-var': 'warn', //不允许使用 var 关键字
    'prefer-const': 'warn', //要求使用 const 声明那些声明后不再被修改的变量
    '@typescript-eslint/no-var-requires': 'warn', //不允许使用 require() 函数导入模块
    '@typescript-eslint/no-unused-vars': 'warn', //不允许定义未使用的变量
    'vue/comment-directive': 'off', //不允许在模板中使用注释
    'vue/multi-word-component-names': 'off', //组件名称不必须包含多个单词
    'vue/no-template-shadow': 'off', //禁止模板中的变量覆盖保留字
    'vue/no-v-html': 'off', //禁止使用v-html
    'comma-dangle': ['error', 'always-multiline'], //要求或禁止使用拖尾逗号
  },
}
